1. Field of the Invention
The present invention relates to an image recognition device, an image recognition method, and an image recognition program.
2. Background Art
Recently, an adaptive cruise control (ACC) system, a forward collision warning (FCW) system, a pedestrian collision warning system, and the like have been developed as a driving support system or a preventive safety system of a vehicle. It is expected to spread low-cost systems using an on-board camera.
Pattern recognition has been often used for recognition of an object using an on-board camera.
A pattern recognition technique is a technique of learning a feature value of an object to be recognized in advance, creating a dictionary reflecting the learning result, and recognizing whether an object (an image of an object) is present in a captured image by combination with details of the dictionary.
Regarding the pattern recognition, after a face recognition algorithm in which Haar-like feature values and AdaBoost identifiers are combined (for example, see “Rapid Object Detection using a Boosted Cascade of Simple Features”, Paul Viola and Michael Jones, Accepted Conference On Computer Vision And Pattern Recognition 2001 (Non-patent Document 1)) has been disclosed, techniques (for example, see Japanese Unexamined Patent Application, First Publication No. 2007-310805 (Patent Document 1)) applied to object recognition for a vehicle have been recently disclosed.
In such an object recognition algorithm, the processing speed is made to increase by preparing an integral image at the time of creating Haar-like feature values.
HOG (Histograms of Oriented Gradients) feature values and the like are also often used.
In the above-mentioned pattern recognition, in order to extract a target object (an image of a target object) from a captured image, object recognition regions (windows) are set to various sizes and the object recognition algorithm is performed for each window.
A pattern recognition process which is performed by an object recognition unit (for example, a processing unit corresponding to an object recognition unit 13 shown in FIG. 1) according to the background art will be described with reference to FIG. 21.
FIG. 21 is a flowchart illustrating an example of a process flow which is performed by an object recognition unit according to the background art.
In this example, a recognition algorithm is constructed by Haar-like feature values and AdaBoost classifiers.
First, the object recognition unit performs a process of integrating an intensity image on an acquired intensity image and calculates an integral image as a result (step S1011).
Then, the object recognition unit extracts a region of the integral image with a predetermined coordinate region (window) by raster scanning (step S1012).
Subsequently, the object recognition unit calculates a Haar-like feature value (vector) of the extracted coordinate region (window) (step S1013).
Then, the object recognition unit performs classification with a real AdaBoost classifier by the use of the calculated Haar-like feature value (vector) and recognizes an object (an image of an object) which is previously set as a target (step S1014).
Here, the object recognition unit determines whether a series of raster scans has completed (step S1015).
Then, the object recognition unit ends the process flow when it is determined that a series of raster scans has completed.
On the other hand, when it is determined that a series of raster scans has not completed, the object recognition unit causes the window to shift (to slide) over the raster scan region and performs the process of step S1012.
In this manner, the object recognition unit causes the window to sequentially slide in the raster scan region and carries out repeated performance of the processes of step S1012 to step S1014, until a series of raster scans has completed.
In the series of raster scans, for example, after causing a window with a fixed scale (size) to sequentially slide over an image region and repeated performance of the above-mentioned processes has completed, changing the scale or the moving step (scanning step) of the window, causing the window to sequentially slide, and carrying out repeated performance of the above-mentioned processes a predetermined number of times.